1. Field of the Invention
The present invention relates to an apparatus and a method for sharing services on a network and, more particularly, to a method for sharing and managing services between each network device.
2. Description of the Related Art
With the rapid advancements in digital technology and the rapid popularization of the Internet, the infrastructures for digital homes are under development to provide a variety of services helpful and convenient to everyday life of customers by practically using such advancements. The digital home technology is aimed at providing high-quality services by utilizing well-equipped external communication infrastructures beyond the simplicity of home networks.
The digital home may be said to be a new paradigm of cultivating new service markets by integrating various ITs (Information Technologies) such as home network technology, information electronic appliance technology, software platforms, solutions and contents.
The terminology referring to the future home with the home networking infrastructure may be exemplified by the following: connected home, smart home, digital home, and so forth. While the use of multiple parts is a common concept in each of the infrastructures, the inter-connected home emphasizes connection of inter-home digital appliances. Particularly, the smart home gives a great deal of weight to home automation services capable of controlling/managing inter-home digital appliances locally or remotely. In contrast, the digital home gives weight to sharing digital multimedia such as music, pictures, video, and so on, and providing digital content services in cooperation with the Internet.
In order to build the digital home, several technologies of home networks, access networks, contents and solutions are required.
The home network technology includes wired/wireless network technology such as power line communication (PLC), telephone line communication, wired LAN (Local Area Network), IEEE1394, wireless LAN, wireless 1394 and so forth; middleware technology such as HAVi (Home Audio Video Interoperability), Jini (Java Intelligent Network Infra-structure), UPnP (Universal Plug and Play), and so forth which support a plug-and-play function; home or household gateway technology for providing an external access network with a network termination function as well as a modem function and providing an inter-network cooperation function; and service platform technology for transmitting and managing multiple services to information electronic appliances connected to home networks via an access network at a remote location.
Here, an example of digital home service platforms is an OSGi (Open Services Gateway Initiative) service platform.
The term OSGi is the abbreviation for Open Services Gateway Initiative. The OSGi was a non-profit standardization organization formed by 15 industry leaders including Ericsson, Sun Microsystems and IBM on March 1999, which was aimed at creating an open standard, by which various services on the network are delivered to local networks or equipment and the delivered services are operated.
The OSGi defines both a framework for service delivery/management and an OSGi bundle. The OSGi bundle is a unit which can be produced and installed, and is packaged with interface, configuration information, executable code and digital signature.
OSGi Release 1.0 consists of a framework which is based on the OSGi standard, a log service, an HTTP service and a device manager. The framework allows application services to share one Java virtual machine, manages life cycles of bundles, Java packages, resources, dependency between the bundles and so on, and has service registries for cooperation between the bundles. The log service provides services that can write and read events generated in the framework. The HTTP service is allowed to provide access to service platforms through a web. And the device manager provides a dynamic device driver downloading model.
In OSGi Release 2 published in October 2001, services such as package management, permission management and user management are provided in addition to the functions of Release 1.
In OSGi Release 3 published in March 2003, services such as start level management, Jini and UPnP are provided in addition to the functions of Release 2. Furthermore, many services are added to the OSGi Release 3 so as to support a gateway for a vehicle as well as a gateway for SOHO (Small Office Home Office).
The OSGi service platform generally focuses on three fields: first, connection and control between the services, second, connection and control between the service and the OSGi framework, and third, connection and control between the OSGi framework and the external service management system. Thus, the OSGi service platform is interposed between an external network such as the high-speed network and a network for connecting in-home appliances.
In the external network environment, a service provider performs service provision and management. In the in-home network environment, numerous appliances and different protocols must smoothly connect and control one and another. The OSGi service platform is ultimately an arbitrator for the external and in-home network environments.
The OSGi standard is created to operate on the basis of a Java virtual machine. The Java virtual machine functions to buffer differences between an embedded OS (Operating System) and an embedded CPU (Central Processing Unit).
All of the OSGi services are included in a physical package called a bundle.
A plurality of OSGi services may be contained in one bundle, which is made up of a basic unit for deployment and management of bundles.
It is the framework that manages these bundles. The framework has a service registry, which performs service registration, inquiry, execution, deletion and so forth. In addition, the framework handles events, detection and counter-processing of the events. Here, the event is a logical event based on a generator of three kinds of events: Service, Bundle, and Framework. The event is logical regardless of a physical event generated from the equipment.
In other words, the OSGi standard may be said to be a middleware for incorporating, controlling and managing various devices and services in the home network environment. The OSGi standard developed up until now can be described based on where a single OSGi server is located either at the home gateway or a single device under the environment of the physically connected home network. Thus, all the services are governed in block, and the devices and services registered in the OSGi framework are readily available therein.
FIG. 1 illustrates a method for running bundles in a conventional OSGi framework.
OSGi frameworks 100 and 150 register and manage bundles 120, 130, 170 and 180 by means of bundle contexts 110 and 160. Each of the bundle contexts 110 and 160 can be as many as the number of the bundles, and thus a one-to-one mapping architecture is constituted. Each bundle context takes charge of functions of installing the bundle and calling services, handles events generated from respective frameworks 100 and 150, and controls details involved in execution of the bundle.
As shown in FIG. 1, the bundle is not shared between the OSGi frameworks. Therefore, the bundle that is separately desired must be installed and registered within the framework itself. The separately desired bundle is invoked and activated through the bundle contexts 110 and 160 within a self-executable environment. Even if performing the same function, the identical bundle is not allowed to provide an appropriate service until it is registered with its own framework. For example, when the bundle C 180 is required to execute the bundle B 130 in the framework A 100, the prior art fails to utilize the resource of the framework B 150. Consequently, in the prior art, the bundle C 180 is repeatedly installed in the framework A 100.
Because the above-mentioned prior art is designed for the single OSGi framework, it is impossible to share the common services between each framework, and therefore, each device must be repeatedly installed and registered within its own OSGi framework. Further, in the case of a business model involving leasing, selling etc. of the services, there exists an inconvenience such that the user or lessee must pay duplicate expenses for each device in order to obtain the same service. Moreover, when another service, which is required to provide a service requested by a current device, is registered and managed within an OSGi framework which is being executed by another device, there is no method where the current device is capable of either requesting the service to another device or registering the service with its own OSGi framework. For this reason, a new method for solving the problems is needed.